/*
    Speedbump aka Project Kimbula
    Copyright (C) 2010  Ping Shin Ching

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see http://www.gnu.org/licenses.

	Ping Shin Ching
	righteous.ninja@gmail.com OR ping_sc@hotmail.com
	More information at http://www.tidytutorials.com/p/speedbump.html
 */



#ifndef application_h
#define application_h


#include "logger.h"
//#include <mcheck.h>
#include <assert.h>
#include <netinet/in.h>
#include <string.h>

struct ipaddress{
	short iptype;
	union{
	char ipv6[INET6_ADDRSTRLEN];
	char ipv4[INET_ADDRSTRLEN];
	};
};
inline void safetimecopy(time_t & to, time_t & from){
	memcpy(&to, &from, sizeof(to));
}

#define flattenip(x) (x.iptype==AF_INET6?x.ipv6:x.ipv4)
#endif
